#include <windows.h>
#include <stdint.h>
#include <msg.h>
#include <main.h>
#include <utils.h>

#include <game.h>

void wuwa_fill_data(struct game_data *buf) {
    // break bad things
    utils_load_module_patched(L"PerfSight.dll");
    utils_load_module_patched(L"CrashSight64.dll");
    utils_load_module_patched(L"AntiCheatExpert\\InGame\\x64\\ACE-Trace.dll");

    buf->shell_sub = SHELL_HAYSTACK;
    buf->shell_args.haystack.get_entry_point = &game_find_msvc_entry_point;

    if (!utils_env_enabled("JADEITE_WW_NO_AC")) {
        buf->base_sub = BASE_DRV;
        buf->base_args.drv.drv_name = L"AntiCheatExpert\\InGame\\x64\\ACE-DRV64.dll";
    } else {
        msg_warn_a("Enabled full no-anticheat mode. You will experience periodic disconnects");
        buf->base_sub = BASE_FULL;
        buf->base_args.full.api = BASE_API_3;
        buf->base_args.full.base_name = L"AntiCheatExpert\\InGame\\x64\\ACE-Base64.dll";
    }
}
